home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
et
/
et3_0-a1.lha
/
et3
/
src
/
Document.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-07-10
|
2KB
|
92 lines
#ifndef Document_First
#ifdef __GNUG__
//pragma once
#pragma interface
#endif
#define Document_First
#include "Manager.h"
#include "Data.h"
#include "TypeMatcher.h"
enum FileDialogType {
eFDTypeRead,
eFDTypeWrite,
eFDTypeImport
};
class Data;
class FileDialog;
class VObject;
class Document : public Manager {
private:
virtual void Store();
public:
MetaDef(Document);
Document(const Symbol &documentType= cDocTypeUndef);
~Document();
//---- dialogs
virtual FileDialog *MakeFileDialog(FileDialogType);
//---- document attributes
int UniqueId();
Symbol GetDocumentType()
{ return docType; }
bool IsUntitled();
bool IsConverted();
char *GetBaseName();
void SetData(Data *fd);
Data *GetData()
{ return docData; }
//---- change management
virtual CommandProcessor *MakeCmdProcessor();
virtual bool Modified();
virtual bool SavedChanges();
//---- misc
void CollectParts(Collection*);
void ExtCommand(int from, char *req, char *args, int len,
char *&ret, int &retlen);
//---- windows
VObject *DoMakeIconContent();
//---- menues
virtual MenuBar *DoMakeMenuBar();
Menu *MakeMenu(int menuId);
void DoSetupMenu(Menu*);
Command *DoMenuCommand(int);
//---- loading
virtual bool CanLoad(Data *data);
virtual void AboutToLoad(Data *data);
virtual bool LoadData(Data *data, bool unique);
//---- generic menu commands
virtual bool Close(); // return TRUE if OK
virtual void Revert();
virtual bool Save(); // return TRUE if OK
virtual bool SaveAs(); // return TRUE if OK
//---- input/output
virtual bool DoFileIsAlreadyOpen(Document *shown, char *name);
virtual void MakeBackup(char *loadDir, char *docName);
virtual bool DoReadData(Data *data); // return TRUE if OK
virtual bool DoRead(IStream&, Data *data); // return TRUE if OK
virtual bool DoWrite(OStream&, Data *data); // return TRUE if OK
//---- obsolete
virtual VObject *DoMakeIcon(char *name);
virtual bool Load(char *filename= 0, bool unique= TRUE);
private:
Symbol docType;
Data *docData;
};
#endif